Virtual Hosts - Web Sites
Os Virtual Hosts são elementos dentro do sistema web da Cloud-Bricks, que ajuda a conectar as solicitações da Web recebidas pela nuvem com servidores HTTP que irão atender a essas solicitações. O Host Virtual decide para qual servidor rotear solicitações com base no domínio do site que está sendo solicitado.


Componentes Básicos de um Virtual Host

Para entender como funciona e como configurar um Virtual Host, vários conceitos relacionados precisam ser aprendidos.

Domínios

Nomes de domínio são os nomes usados pela Internet para identificar redes e organizações. Por exemplo, cloud-bricks.net ou google.com
Web sites that configure can be associated with one or more domains.

Protocolo HTTP/HTTPS

HTTP é o protocolo de comunicação que permite navegadores "conversarem" com os servidores web para trocarem informações. HTTPS adiciona uma camada de segurança a comunicação, habilitando encriptação de dados usando TLS/SSL. Para configurar um Virtual Host com HTTPS, você deve primeiro configurar um certificado digital.

Localizações

Localizações são elementos que permitem separar um site em áreas ou pastas diferentes cada um com configurações independentes.
Você pode configurar restrições de acesso para essas localizações, indicar qual servidor HTTP deve gerenciar conteúdo, gerar e controlar os redirecionamentos de cache.

As localizações podem restringir o acesso usando endereços IP configurados na lista de firewall - máquinas e redes.

As localizações permitem que você ative e configure um mecanismo de Web Cache

As licalizações também gerenciam o destino do pedido, portanto, é possível direcionar solicitações de um domínio para um servidor HTTP específico, ou redirecionar para um URL externo. Quando você configura um redirecionamento, o campo de destino aparece: coloque aqui o url onde queremos redirecionar o usuário.

Configuração de Cache em Localizações

Quando estiver dentro de um Local, o cache HTTP é ativado, temos duas opções de acordo com os cabeçalhos de cache que possuem o aplicativo. Veja mais informações sobre o sistema de cache.

  • Cache Expirado: Se o proxy reverso tiver na memória uma cópia já expirada de uma página (ou seja, seu tempo de cache expirou) e por algum motivo não for possível obter uma cópia atualizada (Exemplo: o servidor da Web está off-line), então autorizamos o proxy a entregar uma "cópia antiga" do site / página para cada pedido. Desta forma, podemos entregar uma cópia antiga em vez de falhar, entregar nada ou gerar um erro.
  • Cache sem Cookie: Essa opção é especialmente útil quando o site usa um sistema de autenticação e, por meio de um cookie específico, indica que o conteúdo gerado durante a sessão não deve ser armazenado no cache. Ao activar esta opção, o campo aparece para introduzir o nome do cookie.

Redirecionar HTTP 

O redirecionamento HTTP é uma opção para enviar o trafego para sites externos. O redirecionamento pode ser útil, por exemplo, se tivermos uma manutenção do site e todo o tráfego for redirecionado para um site diferente. Redirecionamento está no campo "Destino" nas localizações. Você pode escolher entre dois tipos de redirecionamento:

  • Redirecionamento 301 (Permanente): Esse redirecionamento indica que o host foi capaz de se comunicar com o servidor, mas o arquivo solicitado foi movido para outro endereço permanentemente.
  • Redirecionamento 302 (Temporário): Esse redirecionamento indica que o host foi capaz de se comunicar com o servidor, mas o arquivo solicitado foi movido temporariamente para outro endereço.

Configurar um novo Virtual Host

Vá para Sistema Web -> Virtual Hosts no menu esquerdo.

Para que um website fique visível na Internet é necessário criar um virtual host e configurar os domínios associados a ele.

  1. Nome do virtual host, não podem haver dois nomes iguais.
  2. Protocolos do Website.
    • HTTP: Procolo comum para websites, sem segurança.
    • HTTPS: Protocolo web seguro, utiliza camada de segurança SSL. Para maiores informações veja a sessão Certificados SSL.
    • HTTP & HTTPS: Você pode habilitar o acesso ao seu site usando conexões seguras (HTTPS) ou inseguras (HTTP).
  3. Adicionar Domínios: Você pode configurar multiplos domínios virtuais em um único host.
  4. Nome do Domínio: Aqui você pode adicionar todos os domínios que foram comprados e estão apontando para a Cloud.
    Nós podemos colocar um nome de domínio padrão do sistema no formato virtualMachineName.NomeDoCliente.vnat.net.
  5. Domains delete button: Delete domains that have been added.
  6. Adicionar Localização: Permite adicionar multiplas localizações com configurações independentes.
  7. URI : Um URL é simplesmente um URI que  aponta para um recurso físico através de uma rede.
    Para este exemplo vamos usar a raíz do site "/".
  8. Restrição de Acesso: Você pode permitir o acesso de uma única rede na sessão Firewall - Máquinas e Redes.
    Para este exemplo vamos dar acesso a qualquer máquina da Internet com a opção QUALQUER.
  9. Virtualhost destino: É a localização do destino do tráfego.
    Ele pode ser um Redicionamento 301 ou 302, ou um servidor HTTP.
    Para mais informações vá para a sessão  Servidores HTTP.
    Para este exemplo vamos utilizar o servidor HTTP previamente configurado chamado WORDPRESS.
  10. Opção para habilitar o cache HTTP da Cloud-Bricks. Para este exemplo iremos deixar desmarcado.
  11. Botão Deletar Localização: Você pode deltar as localizações criadas. Esta ação é irreversível.
  12. OK: Quato clicado, a lista de Virtual Hosts será atualizada.
  13. Cancelar: Cancela a operação.

Clique em OK e então em Aplicar Alterações para salvar as alterações realizadas. Agora você pode acessar o site usando qualquer um dos domínios configurados.

Acesso Restrido a Diretórios

Por razões de segurança, muitas vezes é necessário restringir o acesso a um diretório ou URL do portal. Por exemplo, quando você está criando uma nova seção de um portal que está no URI / esportes, podemos restringir o acesso a apenas os desenvolvedores podem participar. Em seguida, um exemplo.

O portal da web criado responde para no endereço http://wordpress.pruebas.vnat.net/


Agora, vá para http://wordpress.pruebas.vnat.net/wordpress/, uma instalação do Wordpress será exibida.

Agora altere o Virtual Host correspondente para acesso restrito a URL http://wordpress.pruebas.vnat.net/wordpress/.

No campo "Permitir" escolha a rede que terá acesso exclusivo a URI /wordpress, para este caso escolhemos a rede GOOGLE_DNS_IPV4. Ao digitar novamente a URL http://wordpress.pruebas.vnat.net/wordpress/ o acesso está restrito.

Vá novamente para a URL http://wordpress.pruebas.vnat.net/ e veja que ela permanece acessível normalmente.

Redirecionamentos

O redirecionamento é útil para controlar o acesso ao desenvolvimento de portais ou à opção de manutenção. Você pode redirecionar o tráfego para sites ou servidores externos. Para adicionar um redirecionamento para um portal é necessário modificar o virtual host configurado. Por exemplo ao entrar no portal http://wordpress.pruebas.vnat.net/google é apresentada a mensagem erro 404.


Agora altere o Virtual Host correspondente para incluir um redirecionamento para o portal www.google.com


Ao entrar no portal http://wordpress.pruebas.vnat.net/google será redirecionado para http://www.google.com
 

Um site distribuído entre vários servidores HTTP

Você pode fazer diferentes partes do mesmo site serem servidos por diferentes servidores HTTP.
Como um exemplo, suponha que queremos em nosso site, o URI /suporte ser disponibilizado por um servidor HTTP específico.
Se temos uma máquina virtual como servidor de suporte (sistema de chamados), você deve criar um servidor HTTP apontando para a porta e IP da máquina.

Atualize a lista e aplique as alterações. Alterando o Virtual Host, agora você pode editar os locais e adicionar uma nova URI, alterando a opção "Destino" para apontar para o servidor HTTP que você acabou de criar.

Desta forma, é possível criar e distribuir os locais entre os diferentes servidores.

Criar regras de rewrite e return

Na versão mais recente do sistema Cloud-Bricks, é possível usar o  motor de regras do NGINX para criar regras de return e rewrite e poder controlar o comportamento dos seus web sites em situações especiais.
É necessário conhecer as Expressões regulares para configurar este tipo de regras. A sintaxes do Perl é utilizada, porém não são necessárias as aspas (" , ') nem barras/slashes (/) para delimitar as expressões.
Por favor consultar a documentação do NGINX para mais informações dos casos de uso para esta ferramenta.
  1. Use este ícone para adicionar novas regras.
  2. Use este ícone para adicionar condições adicionais numa regra.
  3. Menu de operadores de comparação: Selecione o operador para comparar a variável da esquerda com a expressão regular da direita.
    • =   : Equals.  Verifica si o valor da variável é igual ao texto da direita.
    • ~   : Match. Verifica se o valor da variável faz "match" com a expressão regular da direita (Sensível a maiúsculas/minúsculas)
    • ~*  : iMatch. Verifica se o valor da variável faz "match" com a expressão regular da direita (Sensível a maiúsculas/minúsculas)
    • != , !~ , !~* : Versões negativas dos operadores anteriores.
  4. Use este ícone para apagar uma regra.
  5. Menu de variáveis: Oferece uma lista das variáveis disponíveis para criar condições. É um subconjunto da lista de variáveis do NGINX.
    • host: Indica o nome de host utilizado na requisição HTTP.
    • http_cookie: Contem as cookies enviadas pelo cliente.
    • http_user_agent: Identifica o tipo de cliente usado na conexão.
    • https:  Contem o valor "on" se a conexão é segura. Se não é vazio.
    • is_mobile: Contem o valor "1" se o cliente é um dispositivo celular ou tablet Se não 0.
    • is_bot: Contem o valor "1" se o cliente é um bot ou cliente não interativo. Se não 0.
    • is_desktop: Contem o valor "1" se o cliente usa um sistema operacional tipo Desktop. Se não 0.
    • query_string: Contem o texto depois do "?" num URL.
    • request: Linha completa original da requisição.
    • request_method: Método HTTP usado na requisição ("GET", "POST", "HEAD" , etc)
    • request uri:  URI original completa (com parâmetros).
    • remote_addr:  Endereço IP do cliente ou proxy que fez a requisição.
    • remote_port: Porta IP de origem utilizada pelo cliente ou proxy para fazer a requisição.
    • scheme: Protocolo da requisição “http” ou “https
  6. Use este ícone para apagar condições de uma regra.
  7. Para regras de rewrite, são necessárias duas expressões regulares:
    1. Expressão regular "Match": Indica o formato que o URI deve ter para aplicar a regra.
    2. Expressão regular de troca. Indica o formato para alterar o URI se o match for validado.
  8. Use este campo para escrever as expressões regulares usadas para comparar as variáveis (5) com os operadores (3).
  9. Menu de acões: Aqui pode selecionar o tipo de ação que será executada se todas as condições forem verdadeiras.
    • return:  Responder à solicitação com um  código HTTP.
    • rewrite_i: Redirecionamento interno. Usar expressões regulares para alterar o URI internamente sem enviar nenhuma resposta de redirect ao cliente. O URI será alterado antes de ser enviado para o servidor web da máquina virtual correspondente.
    • rewrite_t : Usar expressões regulares para alterar o URI atual enviando um código HTTP 302 para o cliente.
    • rewrite_p: Usar expressões regulares para alterar o URI atual enviando um código HTTP 301 para o cliente.
  10. Campos para enviar códigos de resposta HTTP em regras return.
    • Para códigos 3XX (redirecionamentos) é necessário providenciar um URL absoluto como destino.
    • O código especial não padrão 444 é usado para encerrar a conexão atual sem enviar nenhuma resposta ao cliente.
    • Todos os outros códigos podem enviar um texto adicional como resposta ao cliente.

Por favor não hesite em contactar o nosso time de suporte  se precisar de ajuda na configuração de estas regras.

Outros idiomas
[an error occurred while processing this directive]